.App {
  text-align: center;
}

.App-logo {
  height: 40vmin;
  pointer-events: none;
}

@media (prefers-reduced-motion: no-preference) {
  .App-logo {
    animation: App-logo-spin infinite 20s linear;
  }
}

.App-header {
  background-color: #282c34;
  padding: 20px;
  color: white;
}

.App-link {
  color: #61dafb;
}

@keyframes App-logo-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.site-layout .site-layout-background {
  background: #fff;
}

.logo {
  height: 32px;
  margin: 16px;
  background: rgba(255, 255, 255, 0.3);
}

.ant-layout-sider-collapsed .logo {
  margin: 16px 8px;
}

.weather-card {
  margin-bottom: 16px;
}

.weather-card .ant-card-head-title {
  font-size: 16px;
  font-weight: 600;
}

.realtime-indicator {
  display: inline-block;
  width: 8px;
  height: 8px;
  background-color: #52c41a;
  border-radius: 50%;
  margin-right: 8px;
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(82, 196, 26, 0.7);
  }
  
  70% {
    transform: scale(1);
    box-shadow: 0 0 0 10px rgba(82, 196, 26, 0);
  }
  
  100% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(82, 196, 26, 0);
  }
}

.temperature-high {
  color: #ff4d4f;
}

.temperature-normal {
  color: #52c41a;
}

.temperature-low {
  color: #1890ff;
}

.humidity-high {
  color: #722ed1;
}

.humidity-normal {
  color: #13c2c2;
}

.humidity-low {
  color: #fa8c16;
}

.chart-container {
  padding: 20px;
  background: #fafafa;
  border-radius: 6px;
  margin-top: 16px;
}

.stats-row {
  margin-bottom: 24px;
}

.stats-card {
  text-align: center;
  padding: 20px;
}

.connection-status {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 1000;
}

.connection-status.connected {
  color: #52c41a;
}

.connection-status.disconnected {
  color: #ff4d4f;
}

.data-table {
  margin-top: 16px;
}

.data-table .ant-table-thead > tr > th {
  background-color: #fafafa;
  font-weight: 600;
}

.refresh-button {
  margin-bottom: 16px;
}

.system-info {
  background: #f6f8fa;
  padding: 16px;
  border-radius: 6px;
  margin-top: 16px;
}

.system-info p {
  margin: 8px 0;
  color: #666;
}

.loading-spinner {
  text-align: center;
  padding: 50px;
}

.error-message {
  text-align: center;
  padding: 50px;
  color: #ff4d4f;
}

.success-message {
  text-align: center;
  padding: 20px;
  color: #52c41a;
}